<V.3版>
DMAモジュール
外部端子への転送
(→プロジェクトファイル(Harmony Ver.3版 MHC v3.8.0) ダウンロード)
DMAモジュールを使うことにより、CPUの介在なしてメモリと外部ポート間や周辺モジュール間とのデータ転送が可能です。
以下に DMA転送によりメモリから外部ポートに直接データを転送してLEDを点滅する例を紹介します。
<仕様>
・ メモリから外部端子にDMA転送によりデータを転送する。
・ 転送される外部端子は RG15、RD4、RA15、RA14とし端子にはLEDを接続する。
・ 各ポートは 転送データが"1"の場合LEDを点灯し、データが"0"の場合はLEDを消灯する。
・ DMA転送のトリガはタイマ2で開始されること。
・ タイマ2の繰り返しサイクルは100 msecのこと。
・ DMA転送元のデータ転送は、完了後 これを繰り返すこと。
<回路図>( → PDFファイル)
<外観> PIC32MZ評価ボード(→購入方法)を使った実験品の外観です。
<動作結果> (→ 動画:1080pのHD動画を見ることができます。)
1. LED表示
転送 データ |
① ON: RG15,RD4,RA15,RA14 LED_pattern0[0]= 0x80(=0b10000000) LED_pattern1[0]= 0x10(=0b00010000) LED_pattern2[0]= 0xD0(=0b11000000) |
②ON: なし LED_pattern0[1]= 0x00 LED_pattern1[1]= 0x00 LED_pattern2[1]= 0x00 |
③ON: RG15 LED_pattern0[3]= 0x80(=0b10000000) LED_pattern1[3]= 0x00 LED_pattern2[3]= 0x00 |
LED 表示 |
![]() |
![]() |
![]() |
転送 データ |
④ON: RD4 LED_pattern0[4]= 0x00 LED_pattern1[4]= 0x10(=0b00010000) LED_pattern2[4]= 0x00 |
⑤ON: RA15 LED_pattern0[5]= 0x00 LED_pattern1[5]= 0x00 LED_pattern2[5]= 0x80(=0b10000000) |
⑥ON: RA14 LED_pattern0[6]= 0x00 LED_pattern1[6]= 0x00 LED_pattern2[6]= 0x40(=0b01000000) |
LED 表示 |
![]() |
![]() |
![]() |
2. RG15ピンの出力電圧波形
RG15ピン 出力電圧波形 200mse /div 1.0v/div |
![]() |
<解説> プロジェクトファイル精読願います。